#ifndef __PRIVATEBUS_H__
#define __PRIVATEBUS_H__

/*
 * 私有协议公共部分，主要定义协议数据类型
 *
 * */
//-----------------------------------------Configs

#ifdef __cplusplus
extern "C"{
#endif

#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>

typedef enum {
    PB_ERR_NONE=0x00,
    PB_ERR_FUN=0x01,//非法功能
    PB_ERR_ADDR,//非法数据地址
    PB_ERR_DATA,//非法数据
    PB_ERR_STOP,//从站设备故障
    PB_ERR_TIMEOUT,//超时
    PB_ERR_SLAVE,//接收从机地址错误
    PB_ERR_SLAVE_IN_ADDR,//总线设备过多
    PB_ERR_UART_PTR,
    PB_ERR_ADDR_NONE,//空间不足
    PB_ERR_OOM,//内存不足
}PB_ERR;

typedef enum {
    PB_LED_STATE_OFF=0,
    PB_LED_STATE_ON,
}PB_LED_STATE;

typedef enum {
    PB_Level_State_Low=0,
    PB_Level_State_High,
}PB_Level_State;

typedef enum {
    PB_Reg_Coil_State_On,
    PB_Reg_Coil_State_Off
}PB_Reg_Coil_State;


#define PB_DEFAULT_UART_TX_LEN 128
#define __2U8TU16(Hbit,Lbit) (((uint16_t)Hbit<<8)|(uint16_t)Lbit)

#ifdef __cplusplus
};
#endif
#endif

